package com.ruoyi.common.core.domain.home;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 订单对象 orders
 *
 * @author ruoyi
 * @date 2025-06-16
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键编号(实现自增) */
    private String id;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private String userId;

    /** 服务编号 */
    @Excel(name = "服务编号")
    private String serviceId;

    /** 地址编号 */
    @Excel(name = "地址编号")
    private String addressId;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scheduledTime;

    /** 订单状态(1.待支付  2.待服侍  3.服侍中  4.待评价  5.已完成  6.已取消 7.已退款) */
    @Excel(name = "订单状态(1.待支付  2.待服侍  3.服侍中  4.待评价  5.已完成  6.已取消 7.已退款)")
    private Long status;

    /** 客户备注 */
    @Excel(name = "客户备注")
    private String notes;

    /** 使用余额支付的金额 */
    @Excel(name = "使用余额支付的金额")
    private BigDecimal deductBalance;

    /** 使用的优惠券ID */
    @Excel(name = "使用的优惠券ID")
    private String couponId;

    /** 订单流水号 */
    @Excel(name = "订单流水号")
    private String orderNo;

    /** 支付方式（1.微信、2.余额） */
    @Excel(name = "支付方式", readConverterExp = "1=.微信、2.余额")
    private Long paymentMethod;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentTime;

    /** 0-上架 1-下架 */
    @Excel(name = "0-上架 1-下架")
    private Integer isDelete;

    /** 最后一次支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionTime;

    /** 选择的服务 */
    @Excel(name = "选择的服务")
    private String selectionService;

    /** 订单总额 */
    @Excel(name = "订单总额")
    private BigDecimal amount;

    /** 区域调度费 */
    @Excel(name = "区域调度费")
    private BigDecimal regionalScheduling;

    /** 夜间调度费 */
    @Excel(name = "夜间调度费")
    private BigDecimal nightScheduling;

    /** 极速调度费 */
    @Excel(name = "极速调度费")
    private BigDecimal rapidScheduling;

    /** 节假日调度费 */
    @Excel(name = "节假日调度费")
    private BigDecimal festivalAndHoliday;

    /** 优惠券扣除费 */
    @Excel(name = "优惠券扣除费")
    private BigDecimal couponDeduction;

    /** 服务费 */
    @Excel(name = "服务费")
    private BigDecimal serviceCharge;

    /** 实际支付金额 */
    @Excel(name = "实际支付金额")
    private BigDecimal actualPayment;

    /** 优惠前的价格 */
    @Excel(name = "优惠前的价格")
    private BigDecimal beforeTheDiscount;

    /** 员工编号 */
    @Excel(name = "员工编号")
    private Long employeeId;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }

    public void setUserId(String userId)
    {
        this.userId = userId;
    }

    public String getUserId()
    {
        return userId;
    }

    public void setServiceId(String serviceId)
    {
        this.serviceId = serviceId;
    }

    public String getServiceId()
    {
        return serviceId;
    }

    public void setAddressId(String addressId)
    {
        this.addressId = addressId;
    }

    public String getAddressId()
    {
        return addressId;
    }

    public void setScheduledTime(Date scheduledTime)
    {
        this.scheduledTime = scheduledTime;
    }

    public Date getScheduledTime()
    {
        return scheduledTime;
    }

    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }

    public void setNotes(String notes)
    {
        this.notes = notes;
    }

    public String getNotes()
    {
        return notes;
    }

    public void setDeductBalance(BigDecimal deductBalance)
    {
        this.deductBalance = deductBalance;
    }

    public BigDecimal getDeductBalance()
    {
        return deductBalance;
    }

    public void setCouponId(String couponId)
    {
        this.couponId = couponId;
    }

    public String getCouponId()
    {
        return couponId;
    }

    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }

    public void setPaymentMethod(Long paymentMethod)
    {
        this.paymentMethod = paymentMethod;
    }

    public Long getPaymentMethod()
    {
        return paymentMethod;
    }

    public void setPaymentTime(Date paymentTime)
    {
        this.paymentTime = paymentTime;
    }

    public Date getPaymentTime()
    {
        return paymentTime;
    }

    public void setIsDelete(Integer isDelete)
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete()
    {
        return isDelete;
    }

    public void setCompletionTime(Date completionTime)
    {
        this.completionTime = completionTime;
    }

    public Date getCompletionTime()
    {
        return completionTime;
    }

    public void setSelectionService(String selectionService)
    {
        this.selectionService = selectionService;
    }

    public String getSelectionService()
    {
        return selectionService;
    }

    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }

    public void setRegionalScheduling(BigDecimal regionalScheduling)
    {
        this.regionalScheduling = regionalScheduling;
    }

    public BigDecimal getRegionalScheduling()
    {
        return regionalScheduling;
    }

    public void setNightScheduling(BigDecimal nightScheduling)
    {
        this.nightScheduling = nightScheduling;
    }

    public BigDecimal getNightScheduling()
    {
        return nightScheduling;
    }

    public void setRapidScheduling(BigDecimal rapidScheduling)
    {
        this.rapidScheduling = rapidScheduling;
    }

    public BigDecimal getRapidScheduling()
    {
        return rapidScheduling;
    }

    public void setFestivalAndHoliday(BigDecimal festivalAndHoliday)
    {
        this.festivalAndHoliday = festivalAndHoliday;
    }

    public BigDecimal getFestivalAndHoliday()
    {
        return festivalAndHoliday;
    }

    public void setCouponDeduction(BigDecimal couponDeduction)
    {
        this.couponDeduction = couponDeduction;
    }

    public BigDecimal getCouponDeduction()
    {
        return couponDeduction;
    }

    public void setServiceCharge(BigDecimal serviceCharge)
    {
        this.serviceCharge = serviceCharge;
    }

    public BigDecimal getServiceCharge()
    {
        return serviceCharge;
    }

    public void setActualPayment(BigDecimal actualPayment)
    {
        this.actualPayment = actualPayment;
    }

    public BigDecimal getActualPayment()
    {
        return actualPayment;
    }

    public void setBeforeTheDiscount(BigDecimal beforeTheDiscount)
    {
        this.beforeTheDiscount = beforeTheDiscount;
    }

    public BigDecimal getBeforeTheDiscount()
    {
        return beforeTheDiscount;
    }

    public void setEmployeeId(Long employeeId)
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId()
    {
        return employeeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("serviceId", getServiceId())
                .append("addressId", getAddressId())
                .append("scheduledTime", getScheduledTime())
                .append("status", getStatus())
                .append("notes", getNotes())
                .append("createTime", getCreateTime())
                .append("deductBalance", getDeductBalance())
                .append("couponId", getCouponId())
                .append("orderNo", getOrderNo())
                .append("paymentMethod", getPaymentMethod())
                .append("paymentTime", getPaymentTime())
                .append("updateTime", getUpdateTime())
                .append("isDelete", getIsDelete())
                .append("completionTime", getCompletionTime())
                .append("selectionService", getSelectionService())
                .append("amount", getAmount())
                .append("regionalScheduling", getRegionalScheduling())
                .append("nightScheduling", getNightScheduling())
                .append("rapidScheduling", getRapidScheduling())
                .append("festivalAndHoliday", getFestivalAndHoliday())
                .append("couponDeduction", getCouponDeduction())
                .append("serviceCharge", getServiceCharge())
                .append("actualPayment", getActualPayment())
                .append("beforeTheDiscount", getBeforeTheDiscount())
                .append("employeeId", getEmployeeId())
                .toString();
    }
}

